﻿using RndMaterialDisposalService.Models;
using RndMaterialDisposalService.Models.RequestModel;
using NPOI.SS.Formula.Functions;

namespace RndMaterialDisposalService.Services.Interface.OutsourcingProcessing
{
    public interface IOutsourcingProcessingService
    {
        /// <summary>
        /// 获取主流程填写环节数据
        /// </summary>
        /// <param name="ProcInstID"></param>
        /// <returns></returns>
        Task<TheMainFlowFormDataModel> TheMainFlowFormData(string ProcInstID);

        /// <summary>
        /// 新增外协加工电子流业务数据
        /// </summary>
        /// <param name="Input"></param>
        /// <returns></returns>
        Task<int> AddOutsourcingProcessingBusinessData(OutsourcingProcessingBusinessDataModel Input);

        /// <summary>
        /// 返回外协加工电子流报表数据（带分页）
        /// </summary>
        /// <param name="Input"></param>
        /// <returns></returns>
        List<OutsourcingProcessingReportFormModel> GetOutsourcingProcessingReportFormPageList(OutsourcingProcessingReportConditionModel Input);

        /// <summary>
        ///返回外协加工电子流报表主数据
        /// </summary>
        /// <param name="Input"></param>
        /// <returns></returns>
        List<OutsourcingProcessingReportFormModel> GetOutsourcingProcessingReportFormData(OutsourcingProcessingReportConditionModel Input);

        /// <summary>
        /// 返回打印表单数据
        /// </summary>
        /// <param name="ProcInstID"></param>
        /// <returns></returns>
        Task<PrintFormDataModel> GetObtainPrintFormData(string ProcInstID);
    }
}
